The Internet provides access to a wide variety of resources, for example, video files, image files, audio files, or Web pages, including content for particular subjects, book articles, or news articles. A search engine can select one or more resources in response to receiving a search query. A search query is data that a user submits to (or causes, knowingly or unknowingly, to be submitted to or obtained by) a search engine to conduct a search to satisfy the user's informational needs. Search queries almost always include data in the form of text—e.g., one or more search query terms—as well as other information. The search engine selects and scores resources based on their relevance to the search query and on their importance relative to other resources to provide search results that link to the selected resources. The search results are typically ordered according to the scores and presented according to this order.
Given the volume of information available via the Internet, and the lack of consistency between various resources, it is not always easy for a user to formulate search query terms that will quickly and easily provide them with the information that they seek. To assist users, search engines can provide search query suggestions to users to help users satisfy their informational needs—i.e. search engines can suggest query terms that could be used to refine a search or refine a search strategy so as to yield more pertinent results. As an example, some search engines provide search query suggestions in the form of a list of search query suggestions as the user is typing in query term(s). The user can then select one of the search query suggestions from the list without having to type each of the entire search query term(s).
The user's client device typically sends the elements of a search query (including search query term(s)—which may be letters, numbers or characters—i.e. text) to the search engine with each keystroke, and the search engine provides the query suggestions with prefixes that match the entered text prior to the receipt of a search result request. Once the search query suggestions have been received by the client device, the client device displays these suggestions for user selection. In some cases, some search systems will even provide the search results for one of the search query suggestions as well (without the search engine having received a search result request from the client device). As an example, United States Patent Application Publication No. US 2012/0047134 A1 (incorporated by reference herein for all jurisdictions allowing incorporations-by-reference), published Feb. 23, 2012, assigned to Google Inc., provides information on such search systems.
While conventional search query suggestion systems work fairly well and enrich the user experience, improvements are always possible. One improvement which has been suggested is to incorporate the user's previous searches into their then current search query. As an example, United States Patent Application Publication No. US 2010/0211588 A1 (incorporated by reference herein for all jurisdictions allowing incorporations-by-reference), published Aug. 19, 2010, assigned to Microsoft Inc. provides: “Techniques described herein describe a context-aware query suggestion process. Context of a current query may be calculated by analyzing a sequence of previous queries. Historical search data may be mined to generate groups of query suggestion candidates. Using the context of the current query, the current query may be matched with the groups of query suggestion candidates to find a matching query suggestion candidate, which may be provided to the user.” (Abstract) The technology described therein (and other technologies incorporating the user's past searches) is typically complicated however, and, at least in some situations, adverse to the goal of quickly and easily providing the user with information that they are seeking.
Further improvements to conventional search query suggestion systems are therefore desirable.